##############################################################
## MOD Title:		Save posts as drafts (upgrade from 1.0.24 to 1.0.25)
## MOD Author: asinshesq < N/A > (Alan) N/A
## MOD Description:	Allow users to save their posts or pms as drafts so they can begin a post or pm
##			and finish it later. Since it is a draft, others will not see it until it is done.
##
## MOD Version:		upgrade from 1.0.24 to 1.0.25
##
## Installation Level:	Easy
## Installation Time:	5 Minutes ( 1 minute with easymod)
##
## Files To Edit:	posting.php
##			includes/page_header.php
##			language/lang_english/lang_main.php
##			templates/subSilver/index_body.tpl
##
## Included Files:	N/A
##
## License:		http://opensource.org/licenses/gpl-license.php GNU General Public License v2
##
##############################################################
## For security purposes, please check: http://www.phpbb.com/mods/
## for the latest version of this MOD. Although MODs are checked
## before being allowed in the MODs Database there is no guarantee
## that there are no security problems within the MOD. No support
## will be given for MODs not found within the MODs Database which
## can be found at http://www.phpbb.com/mods/
##############################################################
## Author Notes:	This is an upgrade mod.  You must already have version 1.0.23 and phpbb2.0.20 or higher installed in order to use this mod.
##			Note that when you upgrade to phpbb2.0.20 you will find that the second change it asks you to make
##			in includes/prune.php has already been made by this mod so you can skip that change when you upgrade.
##############################################################
## MOD History:
##
##   2006-09-16	- Version 1.0.25
##		  corrected a bug that caused email reply notifications of posts that had been drafts
##		  to go out with a blank subject matter rather than the title of the topic
##
##		  made it easy for people to choose whether to include on the index a link to 
##		  'View your drafts and posts' or a link to "View your drafts and topics you have posted to'
##		  or to include both links; you now specify what you want by following the directions in 
##		  the first comments the mod adds to includes/page_header.php (but note that if you have
##		  previosuly deleted one of those links from your index.tpl file (as some people have)
##		  you will need to add it back to index.tpl if you want to turn it on)
##
##   2006-04-09	- Version 1.0.24
##		  made changes needed if installing this mod on a phpbb 2.0.20 (no other changes made)
##
##   2005-11-07	- Version 1.0.23
##		  made changes to conform to changes made when upgrading to phpbb 2.0.18; 
##		  fixed error that would take you to no post if you tried to delete a draft and then cancelled the deletion
##
##   2005-10-05	- Version 1.0.22
##		  no changes in functionality...just tinkered as requested for validation
##
##   2005-09-20	- Version 1.0.21
##		  no changes in functionality...just tinkered as requested for validation
##
##   2005-09-03	- Version 1.0.20
##		  no changes in functionality...just tinkered as requested for validation
##
##   2005-08-06	- Version 1.0.19
##		  added capability to save pms as drafts;
##
##		  fixed error in search.php that sometimes created a 'warning' in the php error log;
##
##		  changed the font style for draft links from "gen" to 'topictitle' (to match with other search result links)
##
##   2005-07-30	- Version 1.0.18a
##		  small change to search_results templates to assure that you only see the "Your Posts" and
##		  the "Topics You Have Posted To" headings in egosearch and not in other searches
##
##   2005-07-23	- Version 1.0.18
##		  adds new link on index page (and renames the old one) so that user can choose to see his drafts
##		  and posts (listed by post) or see his drafts and the topics to which he has posted;
##
##		  shows user his drafts even if the user has no real posts;
##
##		  adds number of drafts to total number of search matches shown at the top of the results page;
##
##		  adds additional columns in drafts table showing for each draft: the name of the forum in which
##		  the draft will be posted, the subject of the draft (or the topic title if no subject) and
##		  the time the draft was written or edited
##
##   2005-03-04	- Version 1.0.17c
##		  made additional minor changes required for mod validation (no changes in functionality)
##
##   2005-02-19	- Version 1.0.17b
##		  made additional minor changes required for mod validation (no changes in functionality)
##
##   2005-01-28	- Version 1.0.17a
##		  made minor changes required for mod validation (no changes in functionality)
##
##   2005-01-10	- Version 1.0.17
##		  added draft prune functions (note that auto prune will only work if you enable pruning in the ACP configuration page);
##		  changed draft delete checkbox to draft delete button; added number of drafts and drafts per user to Forum stats in ACP;
##		  fixed a post count and pagination error in search.php; fixed an error where if the user clicked to
##		  page 2 or higher in the draft and post list and then went back to page 1 the draft list would no longer be there;
##		  changed it so that a guest who is not logged in will not see the save as drafts button; and
##		  deleted a spurious reference to switch_not_save_a_draft_button that is no longer needed as a result of version 1.0.16 changes.
##
##   2004-11-15	- Version 1.0.16
##		  fixed the treatment of polls in drafts so that they do not get lost when the draft is submitted as a real post;
##		  corrected small error in prune.php that would result in pruning deleting drafts; and simplified posting_body.tpl so that
##		  it no longer uses a <!-- END switch_not_save_as_draft_button --> concept (so that privmsg.php will not get messed up for people with PCP mod); as a result, got rid of all changes to privmsg.php
##
##   2004-10-04	- Version 1.0.15
##		  corrected small error in functions_admin.php that counted drafts as posts when it tries to sync a single topic.
##
##   2004-09-18	- Version 1.0.14
##		  corrected small error in search.php that allowed it to count a draft as a new post when you click the new posts link on the index page;
##		  also corrected problem in functions_admin.php that counted drafts as posts when it tries to sync a forum or topic (e.g. when you hit 'resync' in the forum management part of the ACP);
##		  and modified things so that a user who isn't generally authorized to delete his own posts can now delete his own drafts
##
##   2004-09-05	- Version 1.0.13
##		  no change in functionality...just changed method of inserting draft as a new post when you finally submit a draft (since method used in version 1.0.11 had some unnecessary steps in it);
##
##   2004-09-02	- Version 1.0.12
##		  broke up large find and replace blocks in mod to smaller bits as needed to get validation...no change in the coding from version 1.1.11;
##
##   2004-08-29	- Version 1.0.11
##		  changed mod so that it in effect creates a brand new post (with a new post_id and, if the post is a new topic, a brand new topic_id) when a draft finally gets submitted;
##		  the old draft post (and topic if the draft is a new topic) get deleted when the new one is created;
##		  since post_id now will always fall in same order as post_time, got rid of the changes that had been in prior drafts to places where sorts were done by post_id;
##		  as a result, the order of post_id of all final posts is now the same as the order of post_time of all final posts (not critical but nice);
##		  also fixed a minor error where a BEGIN_TRANSACTION statement did not have a corresponding END_TRANSACTION statement when the user saved the post as a draft (which
##		  could have slowed up the board a bit when a user saves a draft)
##
##   2004-08-22	- Version 1.0.10
##		  tweaked the mod so that post_id and topic_id get updated at the time the draft is finally submitted as real (so that there are never any 'sort' bugs)
##
##   2004-08-20	- Version 1.0.9
##		  corrected the fix in 1.0.8
##
##   2004-08-20	- Version 1.0.8
##		  fixed an error that prevented any regular users who are not moderators from deleting their own drafts
##
##   2004-08-06	- Version 1.0.7
##		  fixed aditional errors in viewtopic that could have caused wrong displays when user hits newest or previous or next in a topic where there are unsubmitted drafts
##
##   2004-08-05	- Version 1.0.6
##		  fixed an error in viewtopic that caused wrong pagination on occassion when there were umsubmitted drafts in a topic
##
##   2004-07-24	- Version 1.0.5
##		  fixed a number of minor bugs and cleaned up code
##
##   2004-07-23	- Version 1.0.4
##		  fixed privmsg.php so that submit and preview buttons show up on pm posts
##
##   2004-07-23	- Version 1.0.3
##		  fixed minor problem where reply notifications didn't go out and post didn't get marked as new when you finally submit draft as a live post
##
##   2004-07-23	- Version 1.0.2
##		  fixed minor problem where board stats didn't get updated after you finally submit a draft as a live post
##
##   2004-07-18	- Version 1.0.1
##		  first release
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]------------------------------------------------
#
posting.php

#
#-----[ FIND ]------------------------------------------------
#
		$select_sql = (!$submit) ? ', t.topic_title, p.enable_bbcode, p.enable_html, p.enable_smilies, p.enable_sig, p.post_draft, p.post_username, pt.post_subject, pt.post_text, pt.bbcode_uid, u.username, u.user_id, u.user_sig, u.user_sig_bbcode_uid' : '';
// start mod save posts as drafts (and end mod too) ... in the preceding line (definition of $select_sql), add reference to post_draft column in table

#
#-----[ REPLACE WITH ]------------------------------------------------
#
		$select_sql = (!$submit) ? ', t.topic_title, p.enable_bbcode, p.enable_html, p.enable_smilies, p.enable_sig, p.post_draft, p.post_username, pt.post_subject, pt.post_text, pt.bbcode_uid, u.username, u.user_id, u.user_sig, u.user_sig_bbcode_uid' : ', t.topic_title';
// start mod save posts as drafts (and end mod too) ... in the preceding line (definition of $select_sql), added reference to post_draft column in table and in the case where this was a submit, added reference to t.topic_title so that reply notifications of posts that were drafts go out with the title in the email subject line

#
#-----[ OPEN ]------------------------------------------------
#
includes/page_header.php

#
#-----[ FIND ]------------------------------------------------
#
define('HEADER_INC', TRUE);

#
#-----[ BEFORE, ADD ]------------------------------------------------
#
// start mod save posts as drafts ... here, we define which links to the drafts list the user wants to appear on the index page
// (and any other template page the links are placed on as described in the author's notes);
//
// define('DRAFT_LINK_TOPICS', TRUE) gives the user a link to a list of his drafts and the topics he has posted to
// define('DRAFT_LINK_POSTS', TRUE); gives the user a list to a list of his drafts and his individual posts)
//
// just change TRUE to FALSE to turn off a link and FALSE to TRUE to turn on a link
//
// the default gives the user a link to a list of his drafts and the topics he has posted to but not his individual posts
// (since unmodded phpbb takes the user to a list of the topics he has posted to but not his posts when he clicks the 'View your posts' link)
// but I personally prefer a link to a list of drafts and indifidual posts so I have that turned on and the topics link turned off on my board

define('DRAFT_LINK_TOPICS', TRUE);
define('DRAFT_LINK_POSTS', FALSE);

// end mod save posts as drafts

#
#-----[ FIND ]------------------------------------------
#
	'L_SEARCH_SELF_BY_TOPIC' => $lang['Search_your_drafts_and_topics'],
	'L_SEARCH_SELF_BY_POST' => $lang['Search_your_drafts_and_posts'],

#
#-----[ REPLACE WITH ]------------------------------------------
#
	'L_SEARCH_SELF_BY_TOPIC' => (DRAFT_LINK_TOPICS) ? $lang['Search_your_drafts_and_topics'] : '',
	'L_SEARCH_SELF_BY_POST' => (DRAFT_LINK_POSTS) ? $lang['Search_your_drafts_and_posts'] : '',

#
#-----[ FIND ]------------------------------------------
#
	'U_SEARCH_SELF_BY_TOPIC' => append_sid('search.'.$phpEx.'?search_id=egosearch_by_topic'),
	'U_SEARCH_SELF_BY_POST' => append_sid('search.'.$phpEx.'?search_id=egosearch_by_post'),

#
#-----[ REPLACE WITH ]------------------------------------------
#
	'U_SEARCH_SELF_BY_TOPIC' => (DRAFT_LINK_TOPICS) ? append_sid('search.'.$phpEx.'?search_id=egosearch_by_topic') : '',
	'U_SEARCH_SELF_BY_POST' => (DRAFT_LINK_POSTS) ? append_sid('search.'.$phpEx.'?search_id=egosearch_by_post') : '',

#
#-----[ OPEN ]------------------------------------------------
#
language/lang_english/lang_main.php

#
#-----[ FIND ]------------------------------------------------
#
$lang['Search_your_drafts_and_topics'] = 'View your drafts and topics you have posted to';
$lang['Search_your_drafts_and_posts'] = 'View your drafts and posts';

#
#-----[ REPLACE WITH ]------------------------------------------
#
$lang['Search_your_drafts_and_topics'] = 'View your drafts and topics you have posted to<br />';
$lang['Search_your_drafts_and_posts'] = 'View your drafts and posts<br />';

#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/index_body.tpl

#
#-----[ FIND ]------------------------------------------------
#
		<a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a><br /><a href="{U_SEARCH_SELF_BY_TOPIC}" class="gensmall">{L_SEARCH_SELF_BY_TOPIC}</a><br /><a href="{U_SEARCH_SELF_BY_POST}" class="gensmall">{L_SEARCH_SELF_BY_POST}</a><br />

#
#-----[ REPLACE WITH ]-----------------------------------------
#
		<a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a><br /><a href="{U_SEARCH_SELF_BY_TOPIC}" class="gensmall">{L_SEARCH_SELF_BY_TOPIC}</a><a href="{U_SEARCH_SELF_BY_POST}" class="gensmall">{L_SEARCH_SELF_BY_POST}</a>

#
#-----[ SAVE/CLOSE ALL FILES ]--------------------------------
#
# EoM

